package controllers;

public enum Permission {
		/*Permessi richieste*/
		REQUESTS_VIEW,			//Può visualizzare solo le richieste sue
		REQUESTS_VIEW_ALL,		//Può visualizzare le richieste di tutti
		REQUESTS_MANAGE	,		//Può accettare e rifiutare le richieste che pu� visualizzare
		REQUESTS_CREATE,		//Può le richieste per conto suo
		REQUESTS_CREATE_ALL,	//Può creare le richieste per conto di tutti
		
		/*Permessi invitati*/
		GUESTS_VIEW,			//Può vedere gli invitati ai propri eventi
		GUESTS_VIEW_ALL,		//Può vedere gli invitati agli eventi di tutti
		GUESTS_MANAGE,			//Può aggiungere, modificare e rimuovere i suoi invitati
		GUESTS_MANAGE_ALL,		//Può aggiungere, modificare e rimuovere gli invitati di tutti
		
		/*Permessi preventivi*/
		BUDGETS_VIEW,			//Può vedere i suoi preventivi
		BUDGETS_VIEW_ALL,		//Può vedere i preventivi di tutti
		BUDGETS_MANAGE,			//Può rifiutare il suo preventivo
		BUDGETS_MANAGE_ALL,		//Può rifiutare i preventivi di tutti
		BUDGETS_MODIFY,			//Può modificare i preventivi 
		
		/*Permessi Contratti*/
		CONTRACTS_VIEW,			//Può vedere i suoi contratti
		CONTRACTS_VIEW_ALL,		//Può vedere i contratti di tutti
		CONTRACTS_MANAGE,		//Può rifiutare il suo contratto
		CONTRACTS_MANAGE_ALL,	//Può annullare i contratti di tutti
		CONTRACTS_MODIFY,		//Può modificare i contratti
		
		/*Permessi Dipendenti*/
		EMPLOYEES_VIEW,			//Può visualizzare i dipendenti
		EMPLOYEES_MANAGE,		//Può gestire i dipendenti
		
		/*Permessi Informazioni Utente*/
		USER_INFO_VIEW,			//Può visualizzare le proprie informazioni
		USER_INFO_VIEW_ALL,		//Può visualizzare le informazioni di tutti gli utenti
		
		/*Permessi Eventi*/
		EVENT_VIEW,				//Può visualizzare solo gli eventi riciesti da lui
		EVENT_VIEW_ALL,			//Può visualizzare tutti gli eventi esistenti
		EVENT_MANAGE,			//Può gestire gli eventi creati da lui
		EVENT_MANAGE_ALL,		//Può gestire gli eventi creati da tutti
		EVENT_CHANGE_STATE,		//Può avanzare lo stato di un evento
		
		/*Permessi Servizi*/
		SERVICE_VIEW,			//Può visualizzare i servizi disponibili
		SERVICE_MANAGE,			//Può gestire i servizi
		
		/*Permessi magazzino*/
		WAREHOUSE_MANAGE,					//Può gestire il contenuto del magazzino
		WAREHOUSE_RESOURCE_EVENTS_MANAGE,	//Può gestire le risorse di un evento
		
		/*Permessi contabilità*/
		TRANSACTION_MANAGE		//Può gestire la contabilità
}
